/*
  学习目标：掌握关键字keyof的使用
  作用:  获取数据结构中所有的键名, 组成一个字面量 + 联合类型
  语法: ✅keyof 类型
  注意: 容易写错的❌ keyof 值
*/

const obj = {
  name: 'zs',
  des: '狂徒',
  age: 18,
  gender: '男',
  gender1: '男',
  gender2: '男',
  gender3: '男',
};

function getValueByKey(key: keyof typeof obj) {
  return obj[key];
}

// 需求1: 出现代码提示
// 需求2: 写了不存在的键名, 要报错
getValueByKey('age');
getValueByKey('gender2');
const name1 = getValueByKey('name');
const age = getValueByKey('age');
